package view.actions;

import beans.UsuarioTo;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import negocio.UsuarioManager;
import negocio.UsuarioManagerException;

import negocio.VentasManager;
import negocio.VentasManagerException;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import utildb.TransactionException;
import view.forms.ingresarLoginForm;


public class IngresarLoginAction extends Action {
    String cBuscar;
    String cadentmp;
    public ActionForward execute(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request, 
                                 HttpServletResponse response) throws IOException, 
                                                                      ServletException, 
                                                                      VentasManagerException,
                                                                      UsuarioManagerException,
                                                                      TransactionException {
        //      --------
        VentasManager pmg = new VentasManager();
        HttpSession session  = request.getSession(false);

        ingresarLoginForm objform;
        objform = (ingresarLoginForm) form;
        String operacion = objform.getOperacion();
        String codUser   = objform.getTxtUser().toUpperCase();
        String codClave  = objform.getTxtClave().toUpperCase();
        String cnom_Usua = "";
        String crol_Usua = "";
        String desRol = "";
        String pgnCall = "pgnMenuVertical";

        if (operacion != null && operacion.equals("ingresar")){
            UsuarioManager pmgUser = new UsuarioManager();
            try {
                UsuarioTo usuario;
                usuario = pmgUser.validaUsuario(codUser, codClave);
                cnom_Usua = usuario.getCnom_Usua();
                crol_Usua = usuario.getCrol_Usua();
                if (crol_Usua.equals("1")) {
                    desRol = "Administrador";
                    pgnCall = "pgnMenuAdministrador";
                }
                if (crol_Usua.equals("2")) {
                    desRol = "Cliente";
                    pgnCall = "pgnMenuNormal";
                }
                if (crol_Usua.equals("3")) {
                    desRol = "Proveedor";
                    pgnCall = "pgnMenuNormal";
                }
                objform.setTxtNombUser(cnom_Usua);
                objform.setTxtRolUser(desRol);
                session.setAttribute("txtUser",codUser);
                session.setAttribute("txtNombUser",cnom_Usua);
                session.setAttribute("txtCodRol",crol_Usua);
                //
                request.setAttribute("txtUser", codUser);
                request.setAttribute("txtNombUser", cnom_Usua);
                request.setAttribute("txtCodRol", crol_Usua);
                request.setAttribute("txtRolUser", desRol );
            } catch (Exception e) {
                        objform.setTxtNombUser("Usuario no valido");
                        request.setAttribute("txtNombUser", "Usuario no valido");
    			System.out.println(e.getMessage());
            }
        }
        // Variable de sesion para el carrito
        session.setAttribute("numeroProductos", 0 );
        request.setAttribute("numeroProductos", 0 );
        return mapping.findForward( pgnCall );
    }
}
